import axios from 'axios';

// 创建axios实例  
const axiosInstance = axios.create({
    withCredentials: true
});

// 添加请求拦截器  
axiosInstance.interceptors.request.use(
    (config) => {
        config.headers['X-Requested-With'] = 'XMLHttpRequest';
        const regex = /.*csrftoken=([^;]*).*$/;
        const csrftoken = document.cookie.match(regex);
        if (csrftoken) {
            config.headers['X-CSRFToken'] = csrftoken[1];
        }
        return config;
    },
    (error) => {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 添加响应拦截器  
axiosInstance.interceptors.response.use(
    (response) => {
        // 对响应数据做点什么
        return response;
    },
    (error) => {
        // 对响应错误做点什么
        return Promise.reject(error);
    }
);

// 导出axios实例  
export default axiosInstance;